// pages/mall/index/index.js
const app = getApp(); // 获取应用实例

Page({
  data: {
    uid: 0,
    bomMenus: [], //底部菜单数据
    bomMenuId: 1, //页面ID
    bannerList: [], //轮播图数据
    topLoading: false, //下拉刷新
    moreLoading: false, //上拉加载
    cateList: [], //分类数据
    glist: [], //商品数据
    gh: 600, //商品外高度
    bodyh: 90, //90vh
  },

  onLoad(options) {
    this.isLogin();
    this.goodsList(options.shopid);
  },

  onShow() {
    this.bomMenuList();
    this.bannerList();
    this.cateList();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 是否登录
  isLogin: function () {
    var uinfo = wx.getStorageSync('uinfo');
    console.log(uinfo);
    if (!uinfo) {
      wx.navigateTo({
        url: '/pages/index/index',
      }); return
    }
    this.setData({ uid: uinfo.uid });
  },

  // 底部菜单
  bomMenuList: function () {
    var _this = this;
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'init',
      data: { type: 1 },
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          return
        }
        _this.setData({
          bomMenus: res.data,
        });
      },
      error: function (err) {
        console.log(err);
      }
    })
    // this.setData({
    //   bomMenus: app.globalData.bomAry,
    // });
  },

  // 轮播图
  bannerList: function () {
    var _this = this;
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'banner/list',
      data: { type: 1 },
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          return
        }
        _this.setData({
          bannerList: res.data,
        });
      },
      error: function (err) {
        console.log(err);
      }
    })
  },

  // 页面跳转
  toView: function(e) {
    console.log(e);
    var id = e.currentTarget.dataset.id;
    if (id == this.data.bomMenuId) { return }
    var bms = this.data.bomMenus, mlink = '', i = 0;
    for (; i < bms.length; i ++) {
      if (bms[i].id == id) {
        mlink = bms[i].link;
      }
    }
    console.log(mlink);
    wx.navigateTo({
      url: mlink,
    });
  },

  // // 分类
  // cateList: function () {
  //   var cs = [
  //     { id: 0, title: '所有' },
  //     { id: 1, title: '饮料' },
  //     { id: 2, title: '百货' },
  //     { id: 3, title: '糕点' },
  //     { id: 4, title: '穿戴' },
  //   ];
  //   this.setData({
  //     cateList: cs,
  //   });
  // },

  // 分类
  cateList: function () {
    var _this = this;
    wx.request({
      method: "post",
      url: app.globalData.xcxApi + 'mall/cate/list',
      data: {},
      success: function (res) {
        res = res.data;
        console.log(res);
        if (res.code < 0) {
          return
        }
        _this.setData({
          cateList: res.data,
        });
      },
      error: function (err) {
        console.log(err);
      }
    });
  },

  // // 商品数据
  // goodsList: function () {
  //   var gs = [
  //     { id: 1, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 2, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 3, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 4, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 5, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 6, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //   ];
  //   var gh = gs.length / 2 * 500 + 300;
  //   this.setData({
  //     glist: gs,
  //     gh: gh,
  //   });
  // },

  // 商品数据
  goodsList: function (e) {
    var _this = this;
    wx.request({
      method: "post",
      url: app.globalData.xcxApi + 'mall/goods/list',
      data: { shop_id: e },
      success: function (res) {
        res = res.data;
        console.log(res);
        if (res.code < 0) {
          return
        }
        var gh = res.data.length / 2 * 500 + 300;
        _this.setData({
          glist: res.data,
          gh: gh,
        });
      },
      error: function (err) {
        console.log(err);
      }
    });
  },

  // 监听下拉刷新
  onPullDownRefresh() {
    console.log('下拉刷新触发');
    this.setData({
      topLoading: true,
    });
    this.loadData(); // 重新加载数据
  },
  // 数据加载
  loadData() {
    // 替换为你的实际请求逻辑（如调用接口）
    setTimeout(() => {
      this.goodsList();
      this.setData({
        topLoading: false,
      });
      wx.stopPullDownRefresh(); // 停止刷新动画
      console.log('下拉完成');
    }, 500);
  },

  // 上拉更多数据
  onReachBottom() {
    console.log('上拉更多开始');
    // 如果正在加载，直接返回
    if (this.data.moreLoading) return; 
    this.setData({
      moreLoading: true,
    });
    this.loadMoreData();
    console.log('上拉更多完成');
  },
  // 更多数据
  loadMoreData() {
    var gs = [
      { id: 1, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
      { id: 2, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
      { id: 3, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
      { id: 4, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
      { id: 5, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
      { id: 6, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
    ];
    var glist = this.data.glist;
    console.log(glist);
    for (var i = 0; i < gs.length; i ++) {
      glist.push(gs[i]);
    }
    console.log(glist);
    setTimeout(() => {
      this.setData({
        glist: glist,
        bodyh: this.data.bodyh * 1 + 90,
        moreLoading: false, // 请求完成后重置状态
      });
    }, 1000);
  },

  // 商品详情
  toGone: function (e) {
    console.log(e);
    var id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '/pages/mall/gone/index?id=' + id,
    });
  },
  
  // onBackPress() {
  //   // 自定义逻辑（返回true阻止默认后退，false或不返回则继续默认行为）
  //   if (this.data.needConfirm) {
  //     wx.showModal({
  //       title: '提示',
  //       content: '确定要离开吗？未保存的数据将丢失',
  //       success(res) {
  //         if (res.confirm) {
  //           wx.navigateBack() // 用户确认后手动后退
  //         }
  //       }
  //     })
  //     return true // 阻止默认后退
  //   }
  //   return false // 允许默认后退
  // }
});
